#include <iostream>
#include <string>
#include <sstream>
#include <unordered_map>
#include <vector>
#include <cmath>

using namespace std;

int main() {
    // Словарь для преобразования слов в цифры
    unordered_map<string, string> a = {
        {"zero", "0"}, {"one", "1"}, {"two", "2"}, {"three", "3"}, {"four", "4"},
        {"five", "5"}, {"six", "6"}, {"seven", "7"}, {"eight", "8"}, {"nine", "9"}
    };

    // Ввод строки
    string b;
    getline(cin, b);
    stringstream ss(b);
    vector<string> c;
    string word;

    while (ss >> word) {
        c.push_back(word);
    }

    // Проверка количества слов
    if (c.size() != 3) {
        cout << "Wrong input" << endl;
        return 0;
    }

    // Преобразование слов в цифры
    vector<string> d;
    for (const string& e : c) {
        if (a.find(e) != a.end()) {
            d.push_back(a[e]);
        } else {
            cout << "Wrong input" << endl;
            return 0;
        }
    }

    // Формирование числа
    string f;
    for (const string& digit : d) {
        f += digit;
    }

    // Проверка на трехзначное число
    if (f.length() != 3 || !isdigit(f[0]) || !isdigit(f[1]) || !isdigit(f[2])) {
        cout << "Wrong input" << endl;
        return 0;
    }

    int g = stoi(f);

    // Проверка на простоту числа
    auto is_prime = [](int n) {
        if (n <= 1) return false;
        if (n <= 3) return true;
        if (n % 2 == 0 || n % 3 == 0) return false;
        for (int i = 5; i * i <= n; i += 6) {
            if (n % i == 0 || n % (i + 2) == 0) return false;
        }
        return true;
    };

    if (is_prime(g)) {
        cout << g << endl;
    } else {
        int k = 1;
        while (true) {
            if (is_prime(g - k)) {
                cout << g - k << endl;
                break;
            }
            if (is_prime(g + k)) {
                cout << g + k << endl;
                break;
            }
            k++;
        }
    }

    return 0;
}

